package marketplace.web.beans;


import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.primefaces.model.menu.DefaultMenuItem;
import org.primefaces.model.menu.DefaultMenuModel;
import org.primefaces.model.menu.DefaultSubMenu;
import org.primefaces.model.menu.MenuModel;

@ManagedBean
@SessionScoped
public class MenuBean {

	private MenuModel model;

    public MenuBean() {
    	
		model = new DefaultMenuModel();
		
		//First submenu
        DefaultSubMenu gestionClientes = new DefaultSubMenu("Gestion de Clientes");        
                
        DefaultMenuItem item = new DefaultMenuItem("Agregar Cliente");
		item.setIcon("ui-icon-plusthick");
        item.setCommand("#{clienteBean.getRegistroCliente}");
        item.setUpdate("messages");
        gestionClientes.addElement(item);
        
        item = new DefaultMenuItem("Listar Clientes");
        item.setIcon("ui-icon-note");
        item.setCommand("#{clienteBean.getClientes}");
        item.setAjax(false);
        gestionClientes.addElement(item);
        
        DefaultMenuItem itemR = new DefaultMenuItem("Ingresar Reclamo");
        itemR = new DefaultMenuItem("Ingresar Reclamo");
		itemR.setIcon("ui-icon-plusthick");
        itemR.setCommand("#{reclamoBean.getRegistroReclamo}");
        itemR.setUpdate("messages");
        gestionClientes.addElement(itemR);
        
      
        model.addElement(gestionClientes);

        
        //// CONTENIDOS DIGITALES /////////////////////////////////////////////////////
        
        DefaultSubMenu gestionCD = new DefaultSubMenu("Gestion de Contenidos Digitales");        
                
        //////// CONTENIDO DIGITAL ////////////////////////////////////////////////////
        
        DefaultMenuItem itemCD = new DefaultMenuItem("Ingresar Contenido Digital");
		itemCD.setIcon("ui-icon-plusthick");
        itemCD.setCommand("#{contenidoDigitalBean.getRegistroCD}");
        itemCD.setUpdate("messages");
        gestionCD.addElement(itemCD);
        
        itemCD = new DefaultMenuItem("Listar Contenido Digital");
        itemCD.setIcon("ui-icon-note");
        itemCD.setCommand("#{contenidoDigitalBean.getCD}");
        itemCD.setAjax(false);
        gestionCD.addElement(itemCD);
      
        //////// CATEGORIA ////////////////////////////////////////////////////////////
        
        itemCD = new DefaultMenuItem("Ingresar Categoria");
		itemCD.setIcon("ui-icon-plusthick");
        itemCD.setCommand("#{subcategoriaBean.getRegistroCategoria}");
        itemCD.setUpdate("messages");
        gestionCD.addElement(itemCD);

        itemCD = new DefaultMenuItem("Listar Categorias");
        itemCD.setIcon("ui-icon-note");
        itemCD.setCommand("#{subcategoriaBean.getListarCategorias}");
        itemCD.setAjax(false);
        gestionCD.addElement(itemCD);
        
        //////// SUBCATEGORIA /////////////////////////////////////////////////////////        
        
        itemCD = new DefaultMenuItem("Ingresar Subcategoria");
		itemCD.setIcon("ui-icon-plusthick");
        itemCD.setCommand("#{subcategoriaBean.getRegistroSubcategoria}");
        itemCD.setUpdate("messages");
        gestionCD.addElement(itemCD);

        itemCD = new DefaultMenuItem("Listar Subcategorias");
        itemCD.setIcon("ui-icon-note");
        itemCD.setCommand("#{subcategoriaBean.getListarSubcategorias}");
        itemCD.setAjax(false);
        gestionCD.addElement(itemCD);
                
        model.addElement(gestionCD);
        
        //////// PROVEEDORES /////////////////////////////////////////////////////////        
        
        DefaultSubMenu proveedor = new DefaultSubMenu("Gestion de Proveedores");        
        
        itemCD = new DefaultMenuItem("Ingresar Proveedor");
		itemCD.setIcon("ui-icon-plusthick");
        itemCD.setCommand("#{proveedorBean.getRegistroProveedor}");
        itemCD.setUpdate("messages");
        proveedor.addElement(itemCD);

        itemCD = new DefaultMenuItem("Listar Proveedores");
        itemCD.setIcon("ui-icon-note");
        itemCD.setCommand("#{proveedorBean.getListarProveedor}");
        itemCD.setAjax(false);
        proveedor.addElement(itemCD);
                
        model.addElement(proveedor);             
	}

	public MenuModel getModel() {
		return model;
	}	

    public String redirect() {
		return "home?faces-redirect=true";
	}
	
	public void addMessage(String summary) {
		FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary,  null);
		FacesContext.getCurrentInstance().addMessage(null, message);
	}
}
